空间关系 Sample详情

最后更新时间:2019年6月17日

空间关系是对空间要素的拓扑关系的判断,包括相邻、相交、相离等基本的拓扑关系。空间关系是GIS空间查询、分析等应用的基础。

1

空间关系计算几何对象准备

在进行空间关系运算之前,首先需要准备进行计算的空间几何对象Geometry,获取方法可参考缓冲分析。然后调用对应的接口即可实现。

2

构建空间关系分析对象

空间关系计算相关接口是由API程序包为com.zondy.mapgis.core.spatial中空间关系类SpaRelation提供的。

SpaRelation spaRelation = new SpaRelation();

3

空间关系计算

调用对应接口实现各种空间关系判别。

boolean result=spaRelation.isContains(Geometry1, Geometry2);
boolean result=spaRelation.isCrosses(Geometry1, Geometry2);
boolean result=spaRelation.isDisjoint(Geometry1, Geometry2);
boolean result=spaRelation.isEquals(Geometry1, Geometry2);
boolean result=spaRelation.isOverlaps(Geometry1, Geometry2);
boolean result=spaRelation.isTouches(Geometry1, Geometry2);
boolean result=spaRelation.isWithin(Geometry1, Geometry2);

其他空间关系运算接口如下表所示,可根据实际需求选择接口实现。

接口 说明
SpaRelation.isDotInLin() 判断点是否在折线内
SpaRelation.isDotInRect() 判断点是否在矩形内
SpaRelation.isDotInReg() 判断点是否在区内
SpaRelation.isLinInReg() 判断线是否在区内
SpaRelation.isLinInterReg() 判断线是否和区相交
SpaRelation.isRectInReg() 判断矩形是否在区内
SpaRelation.isRectInterLin() 判断矩形是否和线相交
SpaRelation.isRegInReg() 判断区1是否在区2内
SpaRelation.isRegInterReg() 判断区是否和区相交

示例效果如下所示:

空间关系.jpg